# 步骤：
# 1.导包

import logging.handlers
import logging
import time

# 2.创建日志器对象
logger = logging.getLogger()
# 3.设置日志打印级别
#     logging.DEBUG：调试级别
#     logging.INFO：信息级别
#     logging.WARNING：警告级别
#     logging.ERROR：错误级别
#     logging.CRITICAL：严重错误级别
logger.setLevel(logging.DEBUG)
# 4.创建处理器对象
# 创建输出到控制台  处理器对象
st = logging.StreamHandler()
# 创建输出到日志文件 处理器对象
fh = logging.handlers.TimedRotatingFileHandler("a.log", when="midnight", backupCount=3, encoding="utf-8")
# when 字符串，指定日志切分间隔时间的单位，midnight:凌晨12点。
# interval 是间隔时间单位的个数，指等待多少个when后继续进行日志记录
# backupCount 是保留日志文件的个数。
# 5.创建日志信息格式
fmt = "%(asctime)s %(levelname)s [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
formatter = logging.Formatter(fmt)
# 设置给 控制台处理器
st.setFormatter(formatter)
# 设置给 日志文件处理器
fh.setFormatter(formatter)
# 6.给日志器添加处理器
# 给日志对象 添加 控制台处理器
logger.addHandler(st)
# 给日志对象 添加 日志文件处理器
logger.addHandler(fh)
# 7.打印日志
while True:
    # logging.debug("我是一个调试级别的日志")
    logging.info("我是一个信息级别的日志")
    logging.warning("我是一个警告级别的日志")
    logging.error("我是一个错误级别的日志")
    logging.critical("我是一个严重错误级别的日志")
    time.sleep(1)

